#ifndef MAINGAMESTATE_H
#define MAINGAMESTATE_H

#include "GameState.h"
#include "Singleton.h"

#include "Model.h"

#include "ColourShader.h"
#include "TextureShader.h"
#include "LightShader.h"

#include "Light.h"
#include "ObjMesh.h"

class MainGameState : public GameState
{
public:
	MainGameState();
	~MainGameState();
	void Update();
	void Draw();
	void OnActive();
	void OnDeActive();

private:
	friend class Singleton<MainGameState>;

private:
	Model* m_Model;
	Light* m_Light;

	ColorShader* m_ColorShader;
	TextureShader* m_TextureShader;
	LightShader * m_LightShader;


	ObjMesh m_ObjMesh;
};

typedef Singleton<MainGameState> TheMainGameState;


#endif